#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
#include<signal.h>
void callback_sig_cation(int signo)
{

    if(SIGINT==signo)
    {
        
        printf("this is catch signa is %d\n",signo);
        sleep(10);
    }else if(SIGQUIT==signo)
    {

        printf("this is catcj signo is %d\n",signo);
    }


}
int main(void)
{


    struct sigaction act,oldact;

    act.sa_handler=callback_sig_cation;//设置回调函数
    act.sa_flags=0;
    sigemptyset(&act.sa_mask) ;//设置sa_mask集合，仅在函数callback_sig_cation执行的时候生效
    sigaddset(&act.sa_mask,SIGQUIT);
    sigaction(SIGINT,&act,&oldact);//注册sigint信号捕捉函数
    sigaction(SIGQUIT,&act,&oldact);


    while(1);

    return 0;



}
